<template>
  <div class="todo-header">
    <input class="text" type="text" placeholder="请输入任务名称，按回车键确认" v-model="title" @keyup.enter="add">
  </div>
</template>

<script>
  // nanoid分别暴露
  import {nanoid} from 'nanoid';

  export default {
    name: "MyHeader",
    data() {
      return {
        title: ""
      }
    },
    methods: {
      add(e) {
        console.log("--", e.target.value, "--");
        // 数据校验
        if(!this.title.trim()) { return alert("输入不能为空")}
        if(this.title == 'undefined' || !this.title || !/[^\s]/.test(this.title)) {
          return false
        } else {
          // 将用户的输入包装成一个todo对象
          const todoObj = {id:nanoid(), title:this.title, done: false}
          // 通知App组件去添加一个todo对象
          this.$emit('addTodo', todoObj);
          // 清空输入
          this.title = "";
        }
        
      }
    }
  }
</script>

<style>
  .text {
    display: block;
    width: 100%;
    height: 32px;
    line-height: 1.4;
    padding: 0 6px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
  }
</style>